package com.example.system.vo;

import lombok.Data;
/*
Rest请求标准响应结构体
 */
@Data
public class RestResultVo<T> {
    /*
    项目定义的状态码，这里定义的o表示成功，其他表示失败
     */
    private  int status;
    /*
    错误的信息
     */
    private String message;
    /*
    响应的内容
     */
    private T data;

    public static <T> RestResultVo<T>  success(){
        RestResultVo<T> restResultVo =new RestResultVo<>();
        restResultVo.setStatus(0);
        return restResultVo;
    }

    public static <T> RestResultVo<T> ok(T data){
        RestResultVo<T> restResultVo = new RestResultVo<>();
        restResultVo.setStatus(0);
        restResultVo.setData(data);
        return restResultVo;
    }


    public static <T> RestResultVo<T>  failed(String message){
        RestResultVo<T> restResultVo =new  RestResultVo<>();
        restResultVo.setStatus(-1);
        restResultVo.setMessage(message);
        return restResultVo;
    }

    public static <T> RestResultVo<T> failed(){
        RestResultVo<T> restResultVo =new RestResultVo<>();
        restResultVo.setStatus(-1);
       return restResultVo;
    }



}
